package com.itic.mall.system.msg.apppush.service;


import cn.jpush.api.push.model.PushPayload;
import com.itic.appbase.framework.common.basevo.ReturnVo;
import com.itic.appbase.framework.type.AlertType;
import com.itic.mall.mobile.msg.vo.MsgVO;
import com.itic.mall.system.msg.apppush.persistence.model.AppPush;
import com.itic.mall.system.msg.apppush.persistence.model.AppPushExample;
import com.itic.mall.system.msg.type.persistence.model.MsgType;
import com.itic.mall.system.users.usersmall.persistence.model.UsersMall;

import java.util.List;
import java.util.Map;

public interface AppPushService {

    

    /**
     * 推送APP消息给用户
     * @param user
     * @param text
     * @return
     */
    public String push(UsersMall user, String text );
    
    public void pushMsg(UsersMall user, AlertType alertType, Map<String, Object> params, MsgVO msgVO) ;
    
    public String addAppPush(UsersMall user, ReturnVo returnVo, String alert, MsgType msgType) ;
    
	public ReturnVo pushMsg( UsersMall user, String text );
    /***
     * 根据用户Id查询所有消息分页
     * @param userId
     * @return
     */
    public List<AppPush> getMsgListByUserId(String userId, AppPushExample example, List<String> types);
    
    public int getCountByUserId(String userId) ;
    
    public int getNotReadCountByTypeId(MsgType msgType,String userId) ;
    
    
    public int getNotReadCount(String userId) ;
}